As the value and use of information continues to increase, individuals and businesses seek additional ways to process and store information. One option available to these users is an information handling system. An information handling system generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes thereby allowing users to take advantage of the value of the information. Because technology and information handling needs and requirements vary between different users or applications, information handling systems may vary with respect to the type of information handled; the methods for handling the information; the methods for processing, storing or communicating the information; the amount of information processed, stored, or communicated; and the speed and efficiency with which the information is processed, stored, or communicated. The variations in information handling systems allow for information handling systems to be general or configured for a specific user or specific use such as financial transaction processing, airline reservations, enterprise data storage, or global communications. In addition, information handling systems may include or comprise a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems.
Examples of information handling systems, such as computers, including servers and workstations, are often grouped in clusters to perform specific tasks. Many information handling systems include one or more components that process and/or operate based on firmware embedded in or near the component. These components may be coupled with controllers driven by firmware. Firmware may be program code embedded in a storage device and maintained within or near the component. The firmware for a component often comprises operational code for the component. From time to time, it may be necessary and/or desirable to update or upgrade the firmware of a component of the information handling system. For example, a firmware upgrade may be necessary to correct errors in, and/or improve the performance of, a device.
The firmware and/or the driver update process is an important element of the overall system life cycle management of information handling systems generally. Among the problems encountered are that the applicability of the updates varies from component to component and from vendor to vendor. Furthermore, hardware applicability rules are defined and implemented through programming that varies from vendor to vendor and is very difficult to maintain. Further compounding such problems is the need to provide for efficient updates for multiple devices in environments where resources such as space and memory are constrained.